/*----------------------------------------*/
/*  Custom Border utilities Styles 
/*----------------------------------------*/

//
// Border utilities
//

.border {
  border: $border-width solid $border-color !important;
}
.border-top {
  border-top: $border-width solid $border-color !important;
}
.border-right {
  border-right: $border-width solid $border-color !important;
}
.border-bottom {
  border-bottom: $border-width solid $border-color !important;
}
.border-left {
  border-left: $border-width solid $border-color !important;
}

.border-0 {
  border: 0 !important;
}
.border-top-0 {
  border-top: 0 !important;
}
.border-right-0 {
  border-right: 0 !important;
}
.border-bottom-0 {
  border-bottom: 0 !important;
}
.border-left-0 {
  border-left: 0 !important;
}

// Border radius reset
.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-bottom-0 {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-left-0 {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.rounded-right-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

// Border transparent
.border-transparent {
  border-color: transparent !important;
}

// Responsive borders
.border-x {
  border-left: $border-width solid $border-color !important;
  border-right: $border-width solid $border-color !important;
}
.border-y {
  border-top: $border-width solid $border-color !important;
  border-bottom: $border-width solid $border-color !important;
}
.border-x-0 {
  border-left: 0 !important;
  border-right: 0 !important;
}
.border-y-0 {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

@for $i from 1 through 5 {
  .border-#{$i} {
    border-width: #{$i}px !important;
  }
}

// Border theme colors
@each $color, $value in $theme-colors {
  .border-#{$color} {
    border-color: $value !important;
  }
  .border-top-#{$color} {
    border-top-color: $value !important;
  }
  .border-right-#{$color} {
    border-right-color: $value !important;
  }
  .border-bottom-#{$color} {
    border-bottom-color: $value !important;
  }
  .border-left-#{$color} {
    border-left-color: $value !important;
  }
}

// Border theme light colors
@each $color, $value in $theme-light-colors {
  .border-light-#{$color} {
    border-color: $value !important;
  }
  .border-top-light-#{$color} {
    border-top-color: $value !important;
  }
  .border-right-light-#{$color} {
    border-right-color: $value !important;
  }
  .border-bottom-light-#{$color} {
    border-bottom-color: $value !important;
  }
  .border-left-light-#{$color} {
    border-left-color: $value !important;
  }
}

// Border Radiuses
// SM Size
.rounded-sm {
  border-radius: $border-radius-sm !important;
}
.rounded-top-sm {
  border-top-left-radius: $border-radius-sm !important;
  border-top-right-radius: $border-radius-sm !important;
}

.rounded-top-left-sm {
  border-top-left-radius: $border-radius-sm !important;
}

.rounded-top-right-sm {
  border-top-right-radius: $border-radius-sm !important;
}

.rounded-bottom-sm {
  border-bottom-left-radius: $border-radius-sm !important;
  border-bottom-right-radius: $border-radius-sm !important;
}

.rounded-bottom-left-sm {
  border-bottom-left-radius: $border-radius-sm !important;
}

.rounded-bottom-right-sm {
  border-bottom-right-radius: $border-radius-sm !important;
}

// Default Size
.rounded {
  border-radius: $border-radius !important;
}

.rounded-top {
  border-top-left-radius: $border-radius !important;
  border-top-right-radius: $border-radius !important;
}

.rounded-top-left {
  border-top-left-radius: $border-radius !important;
}

.rounded-top-right {
  border-top-right-radius: $border-radius !important;
}
.rounded-right {
  border-top-right-radius: $border-radius !important;
  border-bottom-right-radius: $border-radius !important;
}

.rounded-bottom {
  border-bottom-left-radius: $border-radius !important;
  border-bottom-right-radius: $border-radius !important;
}

.rounded-bottom-left {
  border-bottom-left-radius: $border-radius !important;
}

.rounded-bottom-right {
  border-bottom-right-radius: $border-radius !important;
}
.rounded-left {
  border-top-left-radius: $border-radius !important;
  border-bottom-left-radius: $border-radius !important;
}

// LG Size
.rounded-lg {
  border-radius: $border-radius-lg !important;
}

// XL Size
.rounded-xl {
  border-radius: $border-radius-xl !important;
}

.rounded-top-xl {
  border-top-left-radius: $border-radius-xl !important;
  border-top-right-radius: $border-radius-xl !important;
}

.rounded-top-left-xl {
  border-top-left-radius: $border-radius-xl !important;
}

.rounded-top-right-xl {
  border-top-right-radius: $border-radius-xl !important;
}

.rounded-bottom-xl {
  border-bottom-left-radius: $border-radius-xl !important;
  border-bottom-right-radius: $border-radius-xl !important;
}

.rounded-bottom-left-xl {
  border-bottom-left-radius: $border-radius-xl !important;
}

.rounded-bottom-right-xl {
  border-bottom-right-radius: $border-radius-xl !important;
}

.rounded-pill {
  border-radius: $rounded-pill !important;
}

// Box shadow
.shadow-xs {
  box-shadow: $box-shadow-xs;
}
